/**
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.server.bbdd</code> agrupa todos los
 * interfaces y clases que encapsulan los objetos de acceso a datos (DAO),para
 * realizar el acceso a datos. La base de datos es PostgreSQL.<br />
 * También incluyen la implementación del patrón Factory y Abstract Factory.<br />
 *
 */
package edu.uoc.tds.pec4.server.bbdd;

import edu.uoc.tds.pec4.server.bbdd.exceptions.DataBaseDAOException;

/**
 * La clase <code>PostgresDAOFactory</code> es la factoría encargada de
 * instanciar a los objetos DAO que ofrece para el acceso a datos.<br />
 * Crea objetos que implementan una interfaz específica, con el acceso a datos
 * utilizando PostgreSQL.<br />
 * 
 * @author	Luis Rodríguez-Manzaneque Sánchez
 * @version	21/11/2011
 * @since	1.00
 * @see         edu.uoc.tds.pec4.server.bbdd.exceptions.DAOFactoryException
 */
public class PostgresDAOFactory extends DAOFactory {

    @Override
    public IUsuarioDAO getUsuarioDAO() throws DataBaseDAOException {
       return new UsuarioDAO();
    }

    @Override
    public IMaestrosDAO getMaestrosDAO() throws DataBaseDAOException {
        return new MaestrosDAO();
    }

    @Override
    public IAulaDAO getAulaDAO() throws DataBaseDAOException {
        return new AulaDAO();
    }

    @Override
    public IEquipamientoDAO getEquipamientoDAO() throws DataBaseDAOException {
        return new EquipamientoDAO();
    }

    @Override
    public IAuditoriaDAO getAuditoriaDAO() throws DataBaseDAOException {
        return new AuditoriaDAO();
    }
    
    @Override
    public ISolicitudDAO getSolicitudDAO() throws DataBaseDAOException {
        return new SolicitudDAO();
    }
    @Override
    public IReservaDAO getReservaDAO() throws DataBaseDAOException {
        return new ReservaDAO();
    }

    @Override
    public IRankingDAO getRankingDAO() throws DataBaseDAOException {
        return new RankingDAO();
    }

    @Override
    public IRentabilidadDAO getRentabilidadDAO() throws DataBaseDAOException {
        return new RentabilidadDAO();
    }
}
